org.egothor.stemmer
Class Trie

java.lang.Object
  extended byorg.egothor.stemmer.Trie
Direct Known Subclasses:
MultiTrie

public class Trie
extends java.lang.Object

A Trie is used to store a dictionary of words and their stems. Actually, what is stored are words with their respective patch commands. A trie can be termed forward (keys read from left to right) or backward (keys read from right to left). This property will vary depending on the language for which a Trie is constructed.

Author:
Leo Galambos

Constructor Summary
Trie(boolean forward)
          Constructor for the Trie object.
Trie(boolean forward, int root, java.util.Vector cmds, java.util.Vector rows)
          Constructor for the Trie object.
Trie(java.io.DataInput is)
          Constructor for the Trie object.
 
Method Summary
 void add(java.lang.String key, java.lang.String cmd)
          Add the given key associated with the given patch command.
 java.lang.String[] getAll(java.lang.String key)
          Gets the all attribute of the Trie object
 int getCells()
          Return the number of cells in this Trie object.
 int getCellsPnt()
          Gets the cellsPnt attribute of the Trie object
 int getCellsVal()
          Gets the cellsVal attribute of the Trie object
 java.lang.String getFully(java.lang.String key)
          Return the element that is stored in a cell associated with the given key.
 java.lang.String getLastOnPath(java.lang.String key)
          Return the element that is stored as last on a path associated with the given key.
 void printInfo(java.lang.String prefix)
          Description of the Method
 Trie reduce(Reduce by)
          Remove empty rows from the given Trie and return the newly reduced Trie.
 void store(java.io.DataOutput os)
          Write this Trie to the given output stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Trie

public Trie(java.io.DataInput is)
     throws java.io.IOException
Constructor for the Trie object.

Parameters:
is - the input stream
Throws:
java.io.IOException - if an I/O error occurs

Trie

public Trie(boolean forward)
Constructor for the Trie object.

Parameters:
forward - set to true

Trie

public Trie(boolean forward,
            int root,
            java.util.Vector cmds,
            java.util.Vector rows)
Constructor for the Trie object.

Parameters:
forward - true if read left to right, false if read right to left
root - index of the row that is the root node
cmds - the patch commands to store
rows - a Vector of Vectors. Each inner Vector is a node of this Trie
Method Detail

getAll

public java.lang.String[] getAll(java.lang.String key)
Gets the all attribute of the Trie object

Parameters:
key - Description of the Parameter
Returns:
The all value

getCells

public int getCells()
Return the number of cells in this Trie object.

Returns:
the number of cells

getCellsPnt

public int getCellsPnt()
Gets the cellsPnt attribute of the Trie object

Returns:
The cellsPnt value

getCellsVal

public int getCellsVal()
Gets the cellsVal attribute of the Trie object

Returns:
The cellsVal value

getFully

public java.lang.String getFully(java.lang.String key)
Return the element that is stored in a cell associated with the given key.

Parameters:
key - the key
Returns:
the associated element

getLastOnPath

public java.lang.String getLastOnPath(java.lang.String key)
Return the element that is stored as last on a path associated with the given key.

Parameters:
key - the key associated with the desired element
Returns:
the last on path element

store

public void store(java.io.DataOutput os)
           throws java.io.IOException
Write this Trie to the given output stream.

Parameters:
os - the output stream
Throws:
java.io.IOException - if an I/O error occurs

add

public void add(java.lang.String key,
                java.lang.String cmd)
Add the given key associated with the given patch command. If either parameter is null this method will return without executing.

Parameters:
key - the key
cmd - the patch command

reduce

public Trie reduce(Reduce by)
Remove empty rows from the given Trie and return the newly reduced Trie.

Parameters:
by - the Trie to reduce
Returns:
the newly reduced Trie

printInfo

public void printInfo(java.lang.String prefix)
Description of the Method

Parameters:
prefix - Description of the Parameter